\hypertarget{classtree_1_1cThreadedRep}{\section{tree\-:\-:c\-Threaded\-Rep$<$ T $>$ Class Template Reference}
\label{classtree_1_1cThreadedRep}\index{tree\-::c\-Threaded\-Rep$<$ T $>$@{tree\-::c\-Threaded\-Rep$<$ T $>$}}
}


{\ttfamily \#include $<$threaded\-\_\-rep.\-h$>$}



Collaboration diagram for tree\-:\-:c\-Threaded\-Rep$<$ T $>$\-:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=265pt]{classtree_1_1cThreadedRep__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classtree_1_1cThreadedRep_aa2df7e02a980552a4a16e4c669049654}{typedef \hyperlink{structtree_1_1btree__threaded__node}{btree\-\_\-threaded\-\_\-node}$<$ T $>$ {\bfseries node\-\_\-type}}\label{classtree_1_1cThreadedRep_aa2df7e02a980552a4a16e4c669049654}

\item 
\hypertarget{classtree_1_1cThreadedRep_ac9f5a3607794b24b7cda7d2288ce2cc8}{typedef \hyperlink{classtree_1_1btree__iterator}{btree\-\_\-iterator}$<$ T, \\*
\hyperlink{structtree_1_1btree__threaded__node}{node\-\_\-type} $>$ {\bfseries iterator}}\label{classtree_1_1cThreadedRep_ac9f5a3607794b24b7cda7d2288ce2cc8}

\item 
\hypertarget{classtree_1_1cThreadedRep_aec013eb2bc9a327239d1366f039ed94e}{typedef \hyperlink{classtree_1_1btree__inorder__iterator}{btree\-\_\-inorder\-\_\-iterator}\\*
$<$ T, \hyperlink{structtree_1_1btree__threaded__node}{node\-\_\-type} $>$ {\bfseries inorder\-\_\-iterator}}\label{classtree_1_1cThreadedRep_aec013eb2bc9a327239d1366f039ed94e}

\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
bool \hyperlink{classtree_1_1cThreadedRep_a462ebaa3cc1325d075bf8ac280f65a9b}{operator==} (const \hyperlink{classtree_1_1cThreadedRep}{c\-Threaded\-Rep} \&bin\-\_\-rep)
\item 
\hyperlink{classtree_1_1btree__inorder__iterator}{inorder\-\_\-iterator} \hyperlink{classtree_1_1cThreadedRep_aecd82c23c72edb946467838b46d37f86}{begin\-\_\-inorder} ()
\item 
\hyperlink{classtree_1_1btree__inorder__iterator}{inorder\-\_\-iterator} \hyperlink{classtree_1_1cThreadedRep_a8c420c636dc2ec5385edc6e514d739ff}{end} ()
\item 
\hyperlink{classtree_1_1btree__iterator}{iterator} \hyperlink{classtree_1_1cThreadedRep_ae4ba780c69109062000b5bad7b382e15}{insert\-Left\-Child} (\hyperlink{classtree_1_1btree__iterator}{iterator} iter, const T \&data)
\item 
\hyperlink{classtree_1_1btree__iterator}{iterator} \hyperlink{classtree_1_1cThreadedRep_af2e67bf601d8d1d55b83c05d1162b7e2}{insert\-Right\-Child} (\hyperlink{classtree_1_1btree__iterator}{iterator} iter, const T \&data)
\item 
\hypertarget{classtree_1_1cThreadedRep_aa41d7c0738b86fa1efcd5c0a9d5bc2a1}{\hyperlink{classtree_1_1btree__iterator}{iterator} {\bfseries insert\-Root} (const T \&data)}\label{classtree_1_1cThreadedRep_aa41d7c0738b86fa1efcd5c0a9d5bc2a1}

\item 
{\footnotesize template$<$typename F\-U\-N\-C $>$ }\\void \hyperlink{classtree_1_1cThreadedRep_a93489947fed29ed25fbb7268cbae049d}{traverse} (F\-U\-N\-C \&visit)
\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classtree_1_1cThreadedRep_a0b6f3dbf4b6f24795563bed2fea6a7e5}{{\bfseries c\-Threaded\-Rep} (const \hyperlink{classtree_1_1cThreadedRep}{c\-Threaded\-Rep} \&bin\-\_\-rep)}\label{classtree_1_1cThreadedRep_a0b6f3dbf4b6f24795563bed2fea6a7e5}

\item 
\hypertarget{classtree_1_1cThreadedRep_ad872e3bf5a20f7b7ce0e0148edf682cf}{\hyperlink{classtree_1_1cThreadedRep}{c\-Threaded\-Rep} \& {\bfseries operator=} (const \hyperlink{classtree_1_1cThreadedRep}{c\-Threaded\-Rep} \&bin\-\_\-rep)}\label{classtree_1_1cThreadedRep_ad872e3bf5a20f7b7ce0e0148edf682cf}

\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classtree_1_1cThreadedRep_ab973b2dff5006a341af704098731fe8e}{\hyperlink{structtree_1_1btree__threaded__node}{node\-\_\-type} $\ast$ {\bfseries m\-\_\-\-Root}}\label{classtree_1_1cThreadedRep_ab973b2dff5006a341af704098731fe8e}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$typename T$>$class tree\-::c\-Threaded\-Rep$<$ T $>$}

threaded binary tree representation !only inorder iterators and traversal 

\subsection{Member Function Documentation}
\hypertarget{classtree_1_1cThreadedRep_aecd82c23c72edb946467838b46d37f86}{\index{tree\-::c\-Threaded\-Rep@{tree\-::c\-Threaded\-Rep}!begin\-\_\-inorder@{begin\-\_\-inorder}}
\index{begin\-\_\-inorder@{begin\-\_\-inorder}!tree::cThreadedRep@{tree\-::c\-Threaded\-Rep}}
\subsubsection[{begin\-\_\-inorder}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ {\bf inorder\-\_\-iterator} {\bf tree\-::c\-Threaded\-Rep}$<$ T $>$\-::begin\-\_\-inorder (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classtree_1_1cThreadedRep_aecd82c23c72edb946467838b46d37f86}
returns an iterator to the beginning of the tree for inorder traversal \hypertarget{classtree_1_1cThreadedRep_a8c420c636dc2ec5385edc6e514d739ff}{\index{tree\-::c\-Threaded\-Rep@{tree\-::c\-Threaded\-Rep}!end@{end}}
\index{end@{end}!tree::cThreadedRep@{tree\-::c\-Threaded\-Rep}}
\subsubsection[{end}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ {\bf inorder\-\_\-iterator} {\bf tree\-::c\-Threaded\-Rep}$<$ T $>$\-::end (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classtree_1_1cThreadedRep_a8c420c636dc2ec5385edc6e514d739ff}
returns an empty iterator signifying the end of the tree ! used in constructs like for(iterator it = tree.\-begin(); it != tree.\-end(); it++) \hypertarget{classtree_1_1cThreadedRep_ae4ba780c69109062000b5bad7b382e15}{\index{tree\-::c\-Threaded\-Rep@{tree\-::c\-Threaded\-Rep}!insert\-Left\-Child@{insert\-Left\-Child}}
\index{insert\-Left\-Child@{insert\-Left\-Child}!tree::cThreadedRep@{tree\-::c\-Threaded\-Rep}}
\subsubsection[{insert\-Left\-Child}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ {\bf iterator} {\bf tree\-::c\-Threaded\-Rep}$<$ T $>$\-::insert\-Left\-Child (
\begin{DoxyParamCaption}
\item[{{\bf iterator}}]{iter, }
\item[{const T \&}]{data}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classtree_1_1cThreadedRep_ae4ba780c69109062000b5bad7b382e15}
inserts data as a left child of the node indicated by the iterator \hypertarget{classtree_1_1cThreadedRep_af2e67bf601d8d1d55b83c05d1162b7e2}{\index{tree\-::c\-Threaded\-Rep@{tree\-::c\-Threaded\-Rep}!insert\-Right\-Child@{insert\-Right\-Child}}
\index{insert\-Right\-Child@{insert\-Right\-Child}!tree::cThreadedRep@{tree\-::c\-Threaded\-Rep}}
\subsubsection[{insert\-Right\-Child}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ {\bf iterator} {\bf tree\-::c\-Threaded\-Rep}$<$ T $>$\-::insert\-Right\-Child (
\begin{DoxyParamCaption}
\item[{{\bf iterator}}]{iter, }
\item[{const T \&}]{data}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classtree_1_1cThreadedRep_af2e67bf601d8d1d55b83c05d1162b7e2}
inserts data as a right child of the node indicated by the iterator \hypertarget{classtree_1_1cThreadedRep_a462ebaa3cc1325d075bf8ac280f65a9b}{\index{tree\-::c\-Threaded\-Rep@{tree\-::c\-Threaded\-Rep}!operator==@{operator==}}
\index{operator==@{operator==}!tree::cThreadedRep@{tree\-::c\-Threaded\-Rep}}
\subsubsection[{operator==}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ bool {\bf tree\-::c\-Threaded\-Rep}$<$ T $>$\-::operator== (
\begin{DoxyParamCaption}
\item[{const {\bf c\-Threaded\-Rep}$<$ T $>$ \&}]{bin\-\_\-rep}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classtree_1_1cThreadedRep_a462ebaa3cc1325d075bf8ac280f65a9b}
checks for equality -- !compares the data in every node of the tree for equality 

Here is the call graph for this function\-:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classtree_1_1cThreadedRep_a462ebaa3cc1325d075bf8ac280f65a9b_cgraph}
\end{center}
\end{figure}


\hypertarget{classtree_1_1cThreadedRep_a93489947fed29ed25fbb7268cbae049d}{\index{tree\-::c\-Threaded\-Rep@{tree\-::c\-Threaded\-Rep}!traverse@{traverse}}
\index{traverse@{traverse}!tree::cThreadedRep@{tree\-::c\-Threaded\-Rep}}
\subsubsection[{traverse}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ template$<$typename F\-U\-N\-C $>$ void {\bf tree\-::c\-Threaded\-Rep}$<$ T $>$\-::traverse (
\begin{DoxyParamCaption}
\item[{F\-U\-N\-C \&}]{visit}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classtree_1_1cThreadedRep_a93489947fed29ed25fbb7268cbae049d}
traverse the binary tree in the given tree\-\_\-traversal order takes a function object as a parameter, which must implement operator(\-T) 

The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
\item 
tree/threaded\-\_\-rep.\-h\end{DoxyCompactItemize}
